//
// graphlib.hpp for 202loi in /home/faucon_l//Work/Tek2/maths/202loi
//
// Made by leo faucon
// Login   <faucon_l@epitech.net>
//
// Started on  Fri Feb 25 16:58:03 2011 leo faucon
// Last update Wed Apr  6 17:47:13 2011 leo faucon
//

#ifndef _GRAPHLIB_HPP_
# define _GRAPHLIB_HPP_

#include <string>
#include <cstdlib>
#include <SDL/SDL.h>

enum {
  C_NOIR, C_BLEU_FONCE, C_VERT_FONCE, C_CYAN_FONCE, C_ROUGE_FONCE,
  C_MAGENTA_FONCE, C_OCRE, C_GRIS_CLAIR, C_GRIS, C_BLEU, C_VERT,
  C_CYAN, C_ROUGE, C_MAGENTA, C_JAUNE, C_BLANC,

  NB_COULEURS
};

class	SDL_graph
{
public:
  SDL_graph(SDL_Surface * _ecran_);
  ~SDL_graph();

  void		initCouleurs(void);
  int		attendreTouche(void);
  void		actualiser(void);
  void		setPixel(int x, int y, Uint32 coul);
  void		setPixelVerif(int x, int y, Uint32 coul);
  void		ligne_graphHorizontale(int x, int y, int w, Uint32 coul);
  void		ligne_graphVerticale(int x, int y, int h, Uint32 coul);
  void		effacerEcran(void);
  void		echangerEntiers(int* x, int* y);
  void		ligne_graph(int x1, int y1, int x2, int y2, Uint32 coul);

  Uint32		couleurs[NB_COULEURS];

private:

  SDL_Surface	*ecran;
  SDL_Rect	position;
};

#endif
